package com.dcy.daily.skill.rabbitMQ.official.helloWord;

import com.dcy.daily.skill.rabbitMQ.official.utils.MQConnectUtil;
import com.rabbitmq.client.*;

/**
 * Hello word
 * 消费者
 * RabbitMQ 的学习例子（https://www.rabbitmq.com/tutorials/tutorial-one-java.html）。
 * 使用该例子的时候，需要手动下载连接MQ的Java客户端（amqp-client-5.7.1.jar），此jar包
 * 为手动添加，并没使用maven，在启动的时候可手动添加，后续随着学习的深入可换成maven依赖，
 * 或者使用Springboot来自动装配。
 *
 * @author duanchunyu
 * @version 1.0.0
 * @createTime 2021年07月15日 16:43
 */
public class Recv {

    private final static String QUEUE_NAME = "hello";

    public static void main(String[] args) throws Exception{
        Connection connection = MQConnectUtil.getConnection();
        Channel channel = connection.createChannel();
        //声明Queue
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
        //接收消息
        channel.basicConsume(QUEUE_NAME, true, (consumerTag, delivery) -> {
            String message = new String(delivery.getBody(), "UTF-8");
            System.out.println(" [x] Received '" + message + "'");
        }, consumerTag -> {
        });
    }
}
